今天我們來討論最近很流行的GAN,而最近很多新聞或者很多Youtuber都在討論他的應用,Ex: DeepFake 或者一些人像修圖應用。都是GAN的應用。
GAN是於2014年由Ian Goodfellow 提出生成生成對抗網路(GAN: Generative Adversarial Nets),這個方法提出後,大幅突破了非監督式以及神經網路的學習。耀升近期討論度最高的技術。
( 像下面那個就是可以讓人和人都後空翻的技術XD )
source
那GAN的架構長什麽樣子呢?
GAN 主要由兩個模型: Generator
(生成) 和 Discriminator
(判斷) 組成。
首先是 Generator的功能,Generator 的目標 就是當你input 的 array的時候,他能依照你的array樣態生成目標 (Ex: [1,1,1] -> 光頭、170以上、男生 , [0,1,0] -> 長髮、170以上、女生)。
接下來是Discriminator的功能,Discriminator的目標就是當Generator生成照片時,可以透過這個網路來對生成的照片做評分或者說驗證品質。因此,這Componet 有著不同的目標,相互對抗。
國外最常的舉例就是,假鈔跟驗證假鈔,Generator 是負責做假鈔的人,Discriminator 是檢驗是否為假鈔。或者說,也可以把它看成為學生跟老師的關係。
而在training 的 process 如下,Generator 為不斷想辦法"騙過" Discriminator。而Discriminator 會努力的去判別。所以雙方會不斷的進步成長。 (如同佐助跟鳴人)。其中,只有Discriminator會看過真實的圖片,Generator完全不會。因此,Generator才能產出沒有看過的圖片!
接下來我們聊聊一些有趣的GAN 的應用,這邊有大神整理好約每週會更新GAN的新的paper - GAN Zoo。
Pix2Pix:
pix2pix 主要是採用cGAN網路的結構,透過像是增加 U-Net或者 skip-connection 等不同機制,強化GAN。而他所應用的場景像是圖像的還原或者修圖等等。此外,像是有些 線上版本 可以玩玩看。
Cycle GAN:
當時很紅的Cycle GAN,作者直接把斑馬跟馬完美轉換的影片展示出來。Cycle GAN主要是從pix2pix (Ex: 應用上像是把灰階圖片轉成彩色圖片) 演化而來。
PixelDTGAN
PixelDTGAN應用則是可透過一個複雜的圖,從中萃取,或者產生所需要的部分的圖。舉例來說:今天有一個Model身上穿了很多好看的衣服,而如何得到一個純粹衣服的照片並po在官網上賣。就可以使用PixelDTGAN
最近GAN真的非常紅,尤其是許多人都在討論DeepFake帶來的問題議題 (Ex: 18限應用)。感謝大家漫長的閱讀,明天會來實作一下GAN